Providing Enhanced Wireline Services

ABSTRACT

Novel tools and techniques that provide enhanced wireline services at one or more known wireline locations. In some cases, these tools and techniques involve determining that a subscriber is at one or more of the known wireline locations based on a detected location of the subscriber&#39;s wireless device (e.g., wireless phone, portable computer, etc.). Once the subscriber&#39;s presence at that wireline location has been detected, enhanced services can be provided to a wireline telephone at that location.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/804,947 filed Jul. 21, 2015 by Ashish Agarwal and titled, “ProvidingEnhanced Wireline Services” (attorney docket no. 020370-020310US), whichis a continuation of Ser. No. 14/472,640 (now U.S. Pat. No. 9,119,048),filed Aug. 29, 2014 by Ashish Agarwal and titled, “Providing EnhancedWireline Services” (attorney docket no. 020370-020300US), which is acontinuation of U.S. patent application Ser. No. 13/029,711 (now U.S.Pat. No. 8,855,283), filed Feb. 17, 2011 by Ashish Agarwal and titled,“Providing Enhanced Wireline Services” (attorney docket no.020366-105800US), the entire teachings of which are incorporated hereinby reference.

COPYRIGHT STATEMENT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

FIELD

The present disclosure relates, in general, to the provision oftelephone service, and more particularly, to the provision of enhancedwireline services to a subscriber, based at least in part on a locationof a wireless device associated with the subscriber.

BACKGROUND

Wireless devices play an increasingly important role in everyday life. A“wireless device,” as used herein, means any mobile device that iscapable of determining its own location (e.g., using internalhardware/software, by receiving location information from an externaldevice, and/or the like) and is capable of transmitting and/or receivingdata on a network (e.g., a wireless network that provides connectivityto the Internet, a cellular network, etc.). Examples of such devicesinclude, without limitation, wireless phones (e.g., phones operating onwireless wide area networks (“WWAN”), such as code division multipleaccess (“CDMA”) networks and their derivatives, Global System for MobileCommunication (“GSM”) networks and their derivatives, and/or the like;and/or on wireless local area networks (“WLAN”), such as WiFi networksand/or the like), wireless portable computers (e.g., computers,including handheld computers, laptop computers, etc. that can operate onsimilar wireless networks, etc.), and smartphones, which may combine thefeatures of wireless phones and wireless portable computers. Suchwireless devices provide subscribers with mobile connectivity, allowingsubscribers not only to communicate when mobile (e.g., via electronicmail, voice calls, etc.), but also providing information to facilitatesuch communication (e.g., with address books, calendars, etc. that aresynchronized with personal computers and/or enterprise platforms).

As subscribers have become accustomed to the convenience and mobilityprovided by such devices, traditional facilities such as public payphones and paper directory listings have become relatively scarce, sincea wireless subscriber can carry with him both the means to obtaincontact information for third parties as well as the means forconducting communication with those third parties. Further, a wirelesssubscriber can place and receive voice calls in any area in whichcoverage exists. No longer does a subscriber need to inform contacts ofhis location in order to receive calls when away from home. (Whilemanual call forwarding can address this issue somewhat, many subscribershave difficulty remembering to activate manual call forwarding and/orremembering the operations required to do so).

Currently, however, mobile devices are not ideal for every communicationsituation. For example, wireless network quality varies, inter alia,with usage levels and location. In part because of this variance,wireline telephone service (including without limitation Plain OldTelephone System (“POTS”) and other public switched telephone networks(“PSTN”), Voice over Internet Protocol (“VoIP”) and other packetswitched networks) often is considered by subscribers to have greaterreliability and/or call quality in a given location than wireless voiceservice, which can vary according to network coverage and conditions.Moreover, many wireless service plans charge per-minute usage rates,which renders some subscribers reluctant to use a wireless phone inlocations where wireline service is available.

BRIEF SUMMARY

Certain embodiments provide solutions that can provide some of theadvantages of both wireline and wireless service, while minimizing someof the disadvantages of each. Some of these solutions comprise tools andtechniques that provide enhanced wireline services at one or more knownwireline locations. In some cases, these tools and techniques involvedetermining that a subscriber is at one or more of the known wirelinelocations based on a detected location of the subscriber's wirelessdevice (e.g., wireless phone, portable computer, etc.). Once thesubscriber's presence at that wireline location has been detected,enhanced services can be provided to a wireline telephone at thatlocation.

Merely by way of example, in some cases, providing enhanced wirelineservices can comprise automatically forwarding telephone calls, whichmight be directed to one or more telephone numbers (“forwarded numbers”)associated with the subscriber, to a number corresponding to thewireline telephone at that location. The forwarded number(s) caninclude, without limitation, the subscriber's wireless number, otherwireline numbers (e.g., a subscriber's home telephone number, worktelephone number, and/or the like). Thus, when a subscriber is at aknown location, calls for that subscriber (at any of several numbers, insome cases) can be forwarded to a wireline telephone at that location.Alternatively, if the subscriber is not at a location that correspondsto any known location, calls might be forwarded to the wireless device.In an aspect, such embodiments can provide the mobility andaccessibility traditionally afforded by wireless telephones, but withoutthe attendant disadvantages of wireless services (e.g., per-minute usagerates, variable wireless coverage, etc.).

Other enhanced services are possible in various embodiments. Forinstance, in another embodiment, providing enhanced services can includeproviding a click-to-call functionality. In one aspect of suchfunctionality, a subscriber can initiate a call (or at least select atarget number) on his wireless device (e.g., by selecting a contact froman address book on the wireless, selecting a link in a browser on thewireless device, or any of a variety of other methods of callinitiation). The call, however, can be placed with the wireline phone atthe subscriber's location. Merely by way of example, in some cases, thewireline network will, place a first call to the wireline number at thesubscriber's location, place a second call to the target number (i.e.,the number to which the subscriber attempts to place a call with thewireless device), and join the first and the second calls, allowing asubscriber to conduct a call, using the wireline phone, with anotherparty at the target number. In an aspect, such embodiments can providethe convenience of a wireless device (including, inter alia, thesubscriber's personal address book and/or the computing abilities of thewireless device) without the attendant disadvantages of wireless servicedescribed above.

The tools provided by various embodiments include, without limitation,methods, systems, and/or software products. Merely by way of example, amethod might comprise one or more procedures, any or all of which areexecuted by a computer system. Correspondingly, an embodiment mightprovide a computer system configured with instructions to perform one ormore procedures in accordance with methods provided by various otherembodiments. Similarly, a computer program might comprise a set ofinstructions that are executable by a computer system (and/or aprocessor therein) to perform such operations. In many cases, suchsoftware programs are encoded on physical, tangible and/ornon-transitory computer readable media (such as, to name but a fewexamples, optical media, magnetic media, and/or the like).

Merely by way of example, a method of providing a wireline telephonesubscriber with enhanced wireline service, in accordance with oneembodiment, might comprise maintaining a list of one or more wirelinelocations for which enhanced wireline services should be provided to thesubscriber. In an aspect, each of the one or more wireline locationsmight have associated therewith a wireline subscriber number. Merely byway of example, in one embodiment, the one or more wireline locationscomprises a first wireline location having associated therewith a firstwireline subscriber number.

In some cases, the method further comprises detecting a location of awireless device associated with the subscriber, and/or determining thatthe location of the wireless device corresponds to the first wirelinelocation. The method then, might comprise providing, with a wirelinetelephone network, enhanced wireline services at the wireline subscribernumber associated with the first wireline location.

A variety of enhanced wireline services are possible. For instance, insome embodiments, providing enhanced wireline services might compriseenabling a call forwarding service to forward one or more telephonecalls to the first wireline subscriber number. Merely by way of example,if the one or more wireline locations comprises a second wirelinelocation having associated therewith a second wireline subscribernumber, which is a home of the subscriber and the second wirelinesubscriber number being a home telephone number of the subscriber, andif the first wireline location is a location other than the home of thesubscriber, forwarding one or more telephone calls to the first wirelinesubscriber number might comprise automatically enabling a callforwarding service to forward to the first wireline number all callsaddressed to the home telephone number of the subscriber, based on adetermination that the location of the wireless device corresponds tothe first wireline location.

In some cases, the method might further comprise detecting a secondlocation of the wireless device. If it is determined that the secondlocation of the wireless device corresponds to the home of thesubscriber, the method might also comprise disabling the call forwardingservice, based on a determination that the subscriber is located at thehome of the subscriber. On the other hand, if the system determines thatthe second location of the wireless device does not correspond to any ofthe one or more wireline locations for which enhanced wireline servicesshould be provided, the method might comprise re-enabling the callforwarding service to forward one or more calls to a wireless subscribernumber associated with the wireless device

In other embodiments, providing enhanced wireline services at the firstwireline subscriber number might comprise detecting an attempt tooriginate a telephone call from the wireless device to a targettelephone number, and/or placing a call to the target telephone numberfrom the first wireline telephone number. Merely by way of example, thesystem might originate a first call to the first wireline telephonenumber from a wireline service provider, originate a second call to thetarget telephone number, and/or join the first call and the second call.

Another set of embodiments provides apparatus. An exemplary apparatusmight comprise a computer readable medium having encoded thereon a setof instructions executable by one or more computers to perform one ormore operations. The set of instructions might comprise instructions formaintaining a list of one or more wireline locations for which enhancedwireline services should be provided to the subscriber, each of whichmight associated therewith a wireline subscriber number; for example,the one or more wireline locations might comprise a first wirelinelocation having associated therewith a first wireline subscriber number.The set of instructions might further comprise instructions fordetecting a location of a wireless device associated with thesubscriber, instructions for determining that the location of thewireless device corresponds to the first wireline location, and/orinstructions for providing, with a wireline telephone network, enhancedwireline services at the wireline subscriber number associated with thefirst wireline location. (In some cases, providing enhanced wirelineservices might comprise instructing another device to provide enhancedwireline services. Merely by way of example, if the set of instructionsis executable by a wireless device, the instructions for providingenhanced wireline services might comprise instructions to direct anapplication server to provide the enhanced wireline services; likewise,the application server might have instructions to direct a telephonyswitch to provide the enhanced wireline services.)

Yet another set of embodiments provides computer systems, an example ofwhich might comprise one or more processors and a computer readablemedium in communication with the one or more processors, the computerreadable medium having encoded thereon a set of instructions executableby the computer system to perform one or more operations, such as, forexample the set of instructions described above.

In some cases, a wireless device might comprise the computer system (ora portion thereof), in which case the instructions for providingenhanced wireline service might comprise instructions for communicatingwith the wireline telephone network to cause the wireline telephonenetwork to provide the enhanced wireline services. In other cases, thecomputer system might reside within the wireline network (e.g., as anapplication server, telephony switch, etc.), in which case theinstructions for detecting the location of the wireless device mightcomprise instructions for receiving, from the wireless device,information about the location of the wireless device.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of particularembodiments may be realized by reference to the remaining portions ofthe specification and the drawings, in which like reference numerals areused to refer to similar components. In some instances, a sub-label isassociated with a reference numeral to denote one of multiple similarcomponents. When reference is made to a reference numeral withoutspecification to an existing sub-label, it is intended to refer to allsuch multiple similar components.

FIG. 1 is a block diagram illustrating a system for providing enhancedwireline services, in accordance with various embodiments.

FIGS. 2-5 are process flow diagrams illustrating various methods thatcan be used to provide enhanced wireline services, in accordance withvarious embodiments.

FIG. 6 is a generalized schematic diagram illustrating a computersystem, in accordance with various embodiments.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

While various aspects and features of certain embodiments have beensummarized above, the following detailed description illustrates a fewexemplary embodiments in further detail to enable one of skill in theart to practice such embodiments. The described examples are providedfor illustrative purposes and are not intended to limit the scope of theinvention.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the described embodiments. It will be apparent to oneskilled in the art, however, that other embodiments of the present maybe practiced without some of these specific details. In other instances,certain structures and devices are shown in block diagram form. Severalembodiments are described herein, and while various features areascribed to different embodiments, it should be appreciated that thefeatures described with respect to one embodiment may be incorporatedwith other embodiments as well. By the same token, however, no singlefeature or features of any described embodiment should be consideredessential to every embodiment of the invention, as other embodiments ofthe invention may omit such features.

Unless otherwise indicated, all numbers used herein to expressquantities, dimensions, and so forth used should be understood as beingmodified in all instances by the term “about.” In this application, theuse of the singular includes the plural unless specifically statedotherwise, and use of the terms “and” and “or” means “and/or” unlessotherwise indicated. Moreover, the use of the term “including,” as wellas other forms, such as “includes” and “included,” should be considerednon-exclusive. Terms such as “element” or “component” encompass bothelements and components comprising one unit and elements and componentsthat comprise more than one unit, unless specifically stated otherwise.

Certain embodiments provide solutions that can provide some of theadvantages of both wireline and wireless service, while minimizing someof the disadvantages of each. Some of these solutions comprise tools andtechniques that provide enhanced wireline services at one or more knownwireline locations. In some cases, these tools and techniques involvedetermining that a subscriber is at one or more of the known wirelinelocations based on a detected location of the subscriber's wirelessdevice (e.g., wireless phone, portable computer, etc.).

Such a determination can be made, for example, based on locationservices provided by (or to) the wireless device, using technologiessuch as global network satellite system (“GNSS”) receivers (of whichglobal positioning system “GPS”) receivers are a subset), cellular basestation triangulation, WiFi-based location services (such as thoseprovided by Skyhook, Inc.), and/or the like. In some cases, for example,an application on a wireless device might poll its location periodically(e.g., by polling a GPS receiver, by interrogating a Wi-Fi-basedlocation service). In other cases, the device might be configured toreceive location information only when the location changes, and/or whenthe wireless device arrives at a location of interest. The wirelessdevice's detected location can be compared with a database of knownwireline locations to determine that the wireless device (and, byimplication, the user of that device) is present at a particularwireline location (in some cases, to within a specified proximity). Oncethe subscriber's presence at that wireline location has been detected,enhanced services can be provided to a wireline telephone at thatlocation.

A variety of enhanced wireline services can be provided through awireline telephone once the subscriber's presence at the location ofthat telephone has been identified. Merely by way of example, in somecases, telephone calls, which might be directed to one or more telephonenumbers (“forwarded numbers”) associated with the subscriber, might beforwarded to a number corresponding to the wireline telephone at thatlocation. The forwarded number(s) can include, without limitation, thesubscriber's wireless number, other wireline numbers (e.g., asubscriber's home telephone number, work telephone number, and/or thelike). Thus, when a subscriber is at a known location, calls for thatsubscriber (at any of several numbers, in some cases) can be forwardedto a wireline telephone at that location. In an aspect, such embodimentscan provide the mobility and accessibility traditionally afforded bywireless telephones, but without the attendant disadvantages of wirelessservices (e.g., per-minute usage rates, variable wireless coverage,etc.).

As another example, some embodiments provide click-to-call functionalityas an enhanced wireline service. In one aspect of such embodiments, asubscriber can initiate a call (or at least select a target number) on awireless device (e.g., by selecting a contact from an address book onthe wireless, selecting a link in a browser on the wireless device, orany of a variety of other methods of call initiation). The call,however, can be placed via the wireline phone at the subscriber'scurrent location (e.g., as identified by the location of thesubscriber's wireless device). Merely by way of example, in some cases,the wireline network might place a first call to the target number(i.e., the number to which the subscriber attempts to place a call withthe wireless device), place a second call to the wireline number at thesubscriber's location, and join the first and the second calls, allowinga subscriber to conduct a call, using the wireline phone, with anotherparty at the target number. In an aspect, such embodiments can providethe convenience of a wireless device (including, inter alia, thesubscriber's personal address book and/or the computing abilities of thewireless device) without the attendant disadvantages of wireless servicedescribed above.

Consider FIG. 1, which illustrates, in block diagram form, thecomponents of an exemplary system 100 for providing enhanced wirelineservices to a subscriber with a wireless device 105. As noted above, insome cases, the wireless device will be a wireless phone (e.g., asmartphone), although other types of wireless devices can be used withvarious embodiments. The system 100 further comprises a wireline serviceprovider 110, which provides wireline (e.g., POTS, VoIP, etc.) telephoneservice to a plurality of wireline telephones 115.

As illustrated, the plurality of wireline telephones 115 comprises afirst wireline telephone 115 a, which is situated at a known location120 a, and a second wireline telephone 115 b, which is situated at asecond known location 120 b. (It should be appreciated, of course thatthe wireline service provider 110 generally will provide wirelineservice to a great number of wireline phones, some or all of which willbe situated at known locations, but that for convenience, FIG. 1illustrates only two such telephones 115).

In certain embodiments, the system 100 is equipped to detect thelocation of the wireless device 105 using any of a variety of availabletechniques (including without limitation GNSS solutions, cellular basestation triangulation, WiFi location services and/or the like). Suchlocation detection techniques are known to those skilled in the art, anda detailed discussion of their implementation and/or selection isunnecessary, other than to note that some such techniques (e.g., GNSSposition determination) might rely on the wireless device 105 to detectits own position (and/or communicate that information to the wirelineservice provider 110), while other techniques (e.g., cellular basestation triangulation) might rely on the provider 110 (and/or a separatewireless service provider) to detect the position of the wireless device105 (and/or communicate that information to the wireless device 105).

The wireline service provider 110 operates conventional equipment forproviding wireline service, including without limitation a PSTN (and/orcomponents thereof, such as standard advanced intelligent network(“AIN”) and/or Signaling System No. 7 (“SS7”) components includingservice switching points (“SSP”), service control points (“SCP”),various other switches, gateways, and the like), a VoIP network (and/orcomponents thereof, such as a data network, a VoIP soft switch, etc.).Such equipment can be operated in a conventional manner, except asdescribed herein, and need not be described in detail other than to notethat the wireline service provider operates an application server 125 incommunication with the wireless device 105 (as described in furtherdetail below) and a telephony switch 130 (which might be a VoIP switch,an SSP and/or SCP, etc.) that is in communication with the wirelinetelephones 115 and provides telephony services (including bothconventional telephony services and the enhanced wireline servicedescribed herein) to the wireline telephones 115. (Once again, whileFIG. 1 illustrates only one switch 130, it should be understood that atypical implementation will include a plurality of switches 130 withtrunk connections to provide connectivity between a plurality ofwireline telephones 115 in the conventional manner.) Standard and/orproprietary communication facilities (e.g., fiber optic lines, twistedpair, wireless links, etc.) may be used to provide communication betweenthe various devices of the system 100.

In an embodiment, the application server 125 communicates with thewireless device 105 over the Internet and/or a private network (e.g., anetwork operated by the wireline provider 110 and/or a wirelessprovider). Various communication arrangements are possible between thewireless device 105 and the application server 125, including withoutlimitation communication via Internet Protocol (“IP”), and any sucharrangement may be used in accordance with various embodiments. Theapplication server 125 also communicates with the one or more telephonyswitches 130, perhaps via IP. Thus, in an aspect, the application server125 provides an interface between the wireless device 105 and thewireline network.

While not illustrated on FIG. 1, a database (or other data storagearrangement) may be present within the system 100. (The term,“database,” should be interpreted broadly to include any structured,unstructured, or relational data storage arrangement, including withoutlimitation directories, such as those that employ lightweight directoryaccess protocol (“LDAP”), databases managed by a relational databasemanagement system (“RDBMS”), delimited or non-delimited files on a filesystem, etc.). The database might reside on the wireless device 105, theapplication server 125, a computer system separate from (but incommunication with) either the wireless device and/or the applicationserver 125 each, or some combination of the above. In an aspect, thedatabase might store, for each of a plurality of subscribers, a list ofknown wireline locations, correlated with one or more wireline telephonenumbers (sometimes referred to herein as “wireline subscriber numbers”)associated with each known wireline location, perhaps including anidentifier (e.g., “Home,” “Work,” etc.) for each known location.

The database might also store, for each wireline location, anidentification of one or more enhanced services that should be providedto the subscriber at that wireline location. Further, the database mightstore, for some or all of the identified services, one or moreoperational parameters. Merely by way of example, if a particularwireline location should be provided with call forwarding services whenthe subscriber is at that location, the database might store anindication that this service should be provided, as well as a list ofdirectory numbers that should be forwarded to the wireline telephone atthat location.

The operation of the system 100 is described in more detail below withrespect to FIGS. 2-5, but in general, when the system 100 detects thatthe wireless device 105 is at a location corresponding to a knownwireline location (e.g., Known Location A 120 a), the telephony switch130 provides enhanced wireline services to a wireline telephone (e.g.,wireline telephone 115 a) at that location. When the wireless device 105moves to a new location, the system determines whether the new locationcorresponds to another wireline telephone (e.g., if the wireless device105 moved to Known Location B 120 b, the system 100 would determine thatthe location of the wireless device 105, and therefore the subscriber,corresponded to the wireline telephone 115 b associated with thatlocation, and would provide enhanced wireline service to that wirelinetelephone 115 b). In an aspect of some embodiments, once the wirelessdevice 105 leaves a known wireline location 120, the system 100 detectsthat change and disables the enhanced wireline services at thecorresponding wireline telephone. In some cases, the system 100 mightthen forward calls to the wireless device 105 itself, unless and untilthe wireless device 105 reaches another known location 120.

For example, in one embodiment Known Location A 120 a might be thewireless subscriber's home, and the wireline telephone 115 a associatedwith that location might be the wireless subscribers home telephone, towhich the wireless subscriber's home telephone number is assigned. KnownLocation B 120 b might be the wireless subscriber's parents' home, andthe wireline telephone 115 b at that location might be the parents' hometelephone, to which the parents' home telephone number is assigned. Whenthe wireless subscriber (and the wireless device 105) are at home (atKnown Location A 120 a), the system 100 might forward the wirelesssubscriber's office telephone number and the wireless subscriber'swireless number (e.g., the number assigned to the wireless device 105itself) to the subscriber's home telephone number, so that calls placedto either the office telephone number or the wireless telephone numberare instead terminated at the wireline telephone 115 a. Similarly, thesystem 100 might implement other features, such as click-to-call, sothat if the subscriber attempts to originate a telephone call from thewireless device 105, that call is instead originated from the wirelinetelephone 115 a.

Continuing the example, if the subscriber travels to his parents' house(i.e., Known Location B 120 b) for dinner, the system, upon detectingthat the wireless device 105 has left the subscriber's house (i.e.,Known Location A 120 a), will disable the enhanced wireline servicesprovided to his home wireline telephone 115 a. For example, the system100 might disable call forwarding from the wireless device 105 numberand/or the office telephone number to the home wireline telephone 105number. In some cases, because the system 100 detects that the wirelessdevice 105 is not at a location corresponding to any known wirelinetelephone, the system 100 might automatically forward one or morenumbers (e.g., the number assigned to the wireline telephone 115 a, thesubscriber's office telephone number, etc.) directly to the numberassigned to the wireless device 105.

When the subscriber reaches his parents' home (i.e., Known Location B120 b, in this example), the system 100 detects that the wireless device105 is at a location corresponding to the wireline telephone 115 b, andit automatically enables enhanced wireline services to that wirelinetelephone 115 b. Merely by way of example, the system 100 might enablecall forwarding from the subscriber's home telephone number (i.e., thetelephone number assigned to wireline telephone 115 a), the telephonenumber assigned to the wireless device 105, the subscriber's officetelephone number, and/or the like, to the number assigned to thewireline telephone 115 b at the subscriber's parents' home. As anotherexample, the system 100 might enable click to call functionality for thewireless device 105, using the wireline telephone 115 b at the parents'home (for example, as described above).

The system 100 can employ a number of different techniques to providethis functionality. In most cases, the application server 125 receivesinput from the wireless device 105 and, based on that input, programsthe telephony switch 130 to provide the enhanced wireline services tothe appropriate wireline telephone 115. In some cases, a plurality oftelephony switches 130 might be in communication with the applicationserver, and the application server 125 might program the appropriateswitch to correspond to the wireline telephone 115 that should beprovided with the enhanced wireline services. One skilled in the artwill appreciate that there are a number of different techniques forproviding communication between an application server 125 and one ormore telephony switches 130, and that any appropriate technique may beselected in accordance with different embodiments.

In an aspect, the application server 125 can be any computer systemcapable of interfacing (either directly or via other, intermediarydevices) with the wireless device 105 and the telephony switch(es) 130.Moreover, a number of techniques can be used to provide communicationbetween the application server 125 and the wireless device 105. Merelyby way of example, in some cases, the described functionality might beprovided by a dedicated application running on the wireless device 105and/or an application programming interface (“API”) executing on theapplication server 125; the API might receive information from theapplication and cause the application server to perform accordingly. Inother cases, a web service model might be employed, in which thewireless device 105 communicates via standard protocols (e.g., HTML,XML, Simple Object Access Protocol (“SOAP”), Representational StateTransfer (“REST”), etc.) with a web service running on the applicationserver. Other communication models are possible as well.

Moreover, the nature of the interaction between the wireless phone 105and application server 125, and the division of functionality betweenthose devices, can vary by embodiment. Hence, in many embodiments, thefunctionality ascribed to the system 100 can be performed, in variouscombinations, by the wireless device 105 itself, the application server125, and/or the telephony switch 130. Moreover, the functionality of theapplication server 125 and the telephony switch 130 might be integratedin a single device in some embodiments.

To illustrate one possible arrangement, in certain embodiments, thewireless device 105 might simply determine its location and (e.g.,periodically, upon determining that the location has changed, perhaps bysome specified degree, and/or upon user request) notify the applicationserver 125 of that location. (In other cases, the wireless device 105might not even need to provide any information to the application server125; for example, a location service external to the wireless device105, such as a WiFi position determination system, a base stationtriangulation system, and/or the like might provide location informationto the wireless device 105 and/or directly to the application server125). In such embodiments, the application server 125 might beconfigured to use the location of the wireless device 105 to perform theoperations necessary to determine whether and/or where to provideenhanced wireline service, as described in further detail below.

In other embodiments, the wireless device 105 might provide a largerportion of the functionality of the system 100. Merely by way ofexample, the wireless device 105 (or, more precisely, in some cases, anapplication running on the wireless device 105) might detect thelocation of the wireless device (e.g., via signals obtained by a GNSSreceiver in, or in communication with, the wireless device 105, and/orusing one of the other techniques described herein) and determinewhether that location corresponds to one of several known wirelinelocations (a database of which might be maintained by the wirelessdevice). Based on this determination, the wireless device might instructthe application server 125 to provide enhanced wireline services at awireline location corresponding to the current location of the wirelessdevice 105. In further embodiments, the wireless device 105 might evenparticipate in providing the enhanced wireline services. For example,the wireless device 105 might be configured with an application todetect an attempted outgoing call, intercept the attempted call, andinstruct the application server 125 to place a call using the wirelinetelephone at the current location of the wireless device 105. A varietyof other functional arrangements are possible as well.

FIGS. 2-5 illustrate various methods that can be used to provideenhanced wireline services. While the methods of FIGS. 2-5 areillustrated, for ease of description, as different methods, it should beappreciated that the various techniques and procedures of these methodscan be combined in any suitable fashion, and that, in some embodiments,the methods depicted by FIGS. 2-5 can be considered interoperable and/oras portions of a single method. Similarly, while the techniques andprocedures are depicted and/or described in a certain order for purposesof illustration, it should be appreciated that certain procedures may bereordered and/or omitted within the scope of various embodiments.Moreover, while the methods illustrated by FIGS. 2-5 can be implementedby (and, in some cases, are described below with respect to) the system100 of FIG. 1 (or components thereof), these methods may also beimplemented using any suitable hardware implementation. Similarly, whilethe system 100 of FIG. 1 (and/or components thereof) can operateaccording to the methods illustrated by FIGS. 2-5 (e.g., by executinginstructions embodied on a computer readable medium), the system 100 canalso operate according to other modes of operation and/or perform othersuitable procedures. Further, as noted above, various embodiments maydistribute the functionality depicted by the various operations of FIGS.2-5 among the components of the system 100 in different ways. Forexample, in some cases, relatively more of the system functionalitymight reside with the wireless device 105, while in other embodiments,relatively more of the system functionality might reside with theapplication server 125.

Turning to FIG. 2, the method 200 comprises, at block 205, maintaining alist of wireline locations (sometimes referred to herein as “knownwireline locations”) for which enhanced wireline services are to beprovided to the subscriber. In an aspect, maintaining a list of wirelinelocations might comprise storing each of the known wireline locations ina database (e.g., storing a latitude/longitude pair, address, etc.,corresponding to each known wireline location), adding additionalwireline locations to the database, and/or any other operation thatinvolves tracking wireline locations at which to provide the enhancedservices described herein. In an aspect, each of the known wirelinelocations is associated, in the database, with one or more wirelinetelephone numbers at which enhanced wireline services can be provided atthat location.

For example, FIG. 3 illustrates a method 300 adding a wireline locationto a list of wireline locations. In some embodiments, the method 300comprises receiving a notification from a subscriber that a wirelinelocation should be added to the list (block 305). The notification canbe received in a variety of ways. Merely by way of example, in somecases, the application server might provide a web site (e.g., using aweb server integrated with, or in communication with, the applicationserver) that provides a user interface to allow a subscriber to provideinput notifying the system that a wireline location should be added tothe list, and such a notification could be received from the subscriberat the web site.

In other embodiments, an application running on the wireless devicemight be configured to receive input from the subscriber (and/or toobtain data from a GNSS receiver) to identify a location to be added tothe list. Merely by way of example, in a particular embodiment, thewireless device might provide an interface to allow the subscriber tomark the wireless device's current location (e.g., as identified by GNSSdata) and/or any other location (e.g., as identified by an address inputby the subscriber) as a wireline location to be added to the list. Thewireless device, then, might store, in a local database, informationabout the identified location, and/or transmit that that notification(including the location information) to the application server (e.g.,via an API, a web service, etc.), depending on the embodiment.

At block 310, the method might comprise identifying a wireline numbercorresponding to the wireline location. A variety of techniques might beused to identify the wireline number. For example, in a particularembodiment, the system might receive information identifying thewireline number (block 315, e.g., from the subscriber. (For example,after marking a location with the wireless device, the subscriber mightbe prompted with an interface to identify a wireline number associatedwith that location. Alternatively and/or additionally, the method 300might comprise searching a directory (e.g., a telephone listingdirectory maintained by the wireline provider) for a wireline numbercorresponding to the wireline location (block 325). Other techniques arepossible as well. Merely by way of example, if the wireline telephoneprovider is also a data provider, an IP address of a device (e.g., thewireless device) at the location could be used to lookup a correspondingtelephone number.

In some cases, it may be beneficial to define the scope of the wirelinelocation, such that, if the subscriber (or, more precisely, thesubscriber's wireless device) is within the scope of the wirelinelocation, the system should provide enhanced wireline services to thewireline number. Accordingly, the method 300 might comprise determininga radius of enhanced services (block 325).

As one skilled in the art will appreciate, a location might be definedin a number of ways. For example, a location might be defined as anaddress, which identifies a parcel of land (or a portion thereof). Inother cases, a location might be defined as a latitude/longitude pair(or by reference to some other reference coordinate system), whichdefines, to some specified precision, a specific point on the Earth. Itmight not be useful, however, to confine the provision of enhancedwireline services to situations when the wireless device (and/orsubscriber) is at that specific point. Rather, it might be more usefulto provide such services when the wireless device (and/or subscriber) iswithin some specified radius of that point (or address).

Accordingly, in some cases, the system might define (or receive inputfrom the subscriber to specify) one or more radii (which typically, butnot necessarily, will define a circular area centered on the locationmarked as a known wireline location) that specifies the scope of thatwireline location. When the wireless device (and/or subscriber) iswithin that area, the subscriber is considered to be at the knownwireline location. This radius (or radii) might be defined based onsubscriber input (e.g., via the same interface used by the subscriber tomark a wireline location), and/or a default radius might be provided bythe system. In some cases, the subscriber might be provided with theoption, e.g., on a per-location basis, to define one or more radii, touse the system default radius, or not to expand the scope of thewireline location at all. In other cases, the scope of the wirelinelocation might be defined automatically, without input from (and/ornotification to) the subscriber.

In some cases, the radius use to define the scope of the wirelinelocation might be variable and/or dynamic, based on thelocation-determination technology in use at the time the wireless deviceis at the location. For example, it is known that differentlocation-determination technologies have different levels of precisionand/or accuracy. Accordingly, for example, if the wireless device isusing GNSS data to obtain location fix, the radius might be relativelysmall, while if the wireless device is using cellular triangulation(which is generally known to have lower precision than GNSS solutions),the radius might be relatively larger, since the wireless device mightappear to be outside the smaller radius even while the wireless deviceis in fact at that location, just because of the imprecision of thelocation solution.

One or more operations of the method 300 can be repeated as desired toadd additional known wireline locations to the list. Of course, itshould be appreciated that other techniques might be used to populate alist of wireline locations. Merely by way of example, a provider mightauto-populate the list with one or more wireline telephone numbersassociated with a wireless subscriber's account and/or might receivefrom the subscriber an identification of one or more of wireline numbersat which enhanced wireline services should be provided. The subscribermight then identify locations correlating to these numbers (e.g., viadirectory information, account information, other geolocationtechniques, etc.), and add those locations (and the correlated numbers)to the list of known wireline locations.

Returning to FIG. 2, at block 210, the method 200 comprises detecting acurrent location of the wireless device. The current location might bedetected, e.g., at the wireless device and/or the application server, byobtaining GNSS data from a GNSS receiver incorporated within (or incommunication with) the wireless device. Alternatively and/oradditionally, any other suitable technique (including without limitationthose described above, such as WiFi and/or cellular triangulation) maybe employed to detect the current location of the wireless device. Thedetected location might be used locally by the wireless device, and/orlocation data might be transmitted to the application server for itsuse, in accordance with the techniques described herein.

The method 200 might further comprise determining a wireline locationcorresponding to the detected location of the wireless device (block215). In an aspect, for example, the system (e.g., the applicationserver and/or the wireless device) might search the list of knownwireline locations for the detected location and/or compare the detectedlocation with each location in the list of known wireline locations forthat subscriber. Any of several known location search/comparisontechniques can be used for this purpose. If the system finds a match (towithin any specified radius) for the current location within the list ofknown wireline locations, the system determines that the location of thewireless device corresponds to that wireline location (i.e., that thesubscriber is located at the matching known wireline location). At block220, the method 200 comprises identifying a wireline telephone numberassociated with the determined wireline location, for example, bylooking up, in the database, a wireline number that corresponds to thedetermined location of the wireless phone.

At block 225, the method 200 comprises providing enhanced wirelineservice(s) at the determined wireline location (i.e., at a wirelinetelephone to which is assigned the wireline telephone number thatcorresponds to the location of the wireless device). In some cases, forexample, the application server (or wireless device) will obtain, fromthe list of wireline locations, an identification of one or moreenhanced services that should be provided when the subscriber is at theidentified wireline location. The application server will reconfiguredthe appropriate telephony switch in order to provide the identifiedenhanced wireline services (such as call forwarding). In other cases,the wireless device might be involved in the provision of the enhancedwireline services (such as click-to-call), and no reconfiguration of thetelephony switch might be needed.

As noted above, embodiments can allow for the provision of a variety ofenhanced wireline services. Merely by way of example, FIG. 4 illustratesa method of providing call forwarding as an enhanced wireline service.Among other things, the method 400 illustrated by FIG. 4 can be used toautomatically enable a call forwarding service to forward, to a wirelinetelephone at the subscriber's current location, some or all callsdirected to the subscriber's home telephone number, office telephonenumber, wireless number, etc.

At block 405, the method 400 comprises forwarding one or more calls toan identified wireline number (e.g., a telephone number assigned to awireline telephone at a known wireline location corresponding to thecurrent location of the subscriber and/or the subscriber's wirelessdevice). As noted above, in some cases, the system will maintain a listof wireline locations to which calls should be forwarded, based on thesubscriber's presence, and the system might also maintain a list oftelephone numbers that should be forwarded to each of those locations(the list of forwarded telephone numbers might be the same for allwireline locations, or it might be different for each wirelinelocation).

Based on a determination that the subscriber is at a known wirelinelocation (a determination that case be made using, for example, themethod 200 described with respect to FIG. 2, above), the system (e.g.,the wireless device, the application server, etc.) might determine thatcalls should be forwarded from one or more forwarded numbers to thewireline telephone number associated with the wireline location thatcorresponds to the subscriber's current location, based on thesubscribers preferences (which, as noted above, might be stored in thedatabase with the list of known wireline locations). The system mightalso determine which numbers should be forwarded. Based on thesedeterminations, the application server reconfigures one or moretelephony switches to forward, to the wireline number associated withthe subscriber's current location, calls directed to (i.e., intended bythe caller to be terminated at) the forwarded number(s), e.g., usingconventional, switch-based call forwarding techniques. Any such calls,therefore, can be answered by the subscriber at the wireline telephone.In some cases, the forwarded calls might be announced by a special ringtone or pattern, etc., to indicate that they are forwarded calls.

In some cases, if the system determines that the current location of thewireless device does not correspond to any known wireline location, thesystem might instead forward the forwarded numbers to the number of thewireless device itself. Alternatively, if the subscriber is not at aknown location, the system might disable forwarding altogether and/orforward calls to a default telephone number (e.g., the subscriber's hometelephone number, etc.), a number specified by the subscriber, and/orthe like.

In one inventive aspect, certain embodiments automatically account forthe subscriber's current location at any given time. Hence, when asubscriber leaves one known location and/or arrives at another knownwireline location, the system can adjust the provision of enhancedservices (e.g., call forwarding) accordingly. Merely by way of example,the system might automatically enable or disable call forwarding, orchange the wireline number to which calls are forwarded, based on thechanging location of the subscriber and/or his wireless device.

Hence, in accordance with some embodiments, at block 410, the systemdetects a second location of the subscriber and/or the subscriber'swireless device, and at block 415, the method 400 comprises determininga second wireline location corresponding to the second location of thesubscriber (e.g., as described above with respect to FIG. 2). In somecases, if the second wireline location is a known wireline location witha corresponding wireline number, the method 400 might comprisedetermining a wireline number associated with the second wirelinelocation (block 420), e.g., by looking up the number is the database ofknown locations, and/or using any of the number determination techniquesdescribed above. At block 425, the system modifies the call forwardingservice, based on the second location of the subscriber. Merely by wayof example, if the system determines that the subscriber's currentlocation corresponds to the subscriber's home, the system might disablecall forwarding altogether (e.g., if the subscriber's home telephonenumber is the only forwarded number) and/or might reconfigure theappropriate telephony switches to forward calls from other forwardednumbers to the subscriber's home telephone number.

In other cases, as noted above, if the second location of the wirelessdevice is determined not to correspond to any known wireline location,the system might disable the call forwarding service altogether, and/ormight re-enable the call forwarding service to forward calls to awireless subscriber number associated with the wireless device itself.

As noted above, click-to-call functionality is another enhanced wirelineservice that can be provided by certain embodiments. FIG. 5 illustratesa method 500 that discloses a technique for providing click-to-callfunctionality, in accordance with some embodiments.

The method 500 comprises detecting an attempt to originate a call from awireless device (block 505). There are a variety of techniques that canbe used to detect an attempt to originate a call from the wirelessdevice; some techniques might employ software local to the wirelessdevice, while others might be performed at the application server and/orat a wireless switch. Merely by way of example, in some cases, detectingan attempt to originate a call might comprise receiving a selection of acontact (e.g., from an address book application on the wireless device),and/or by detecting an attempt by the user to dial the contact on thewireless device, as depicted by block 510. The wireless device, forexample, might be configured with software to detect and/or intercept anattempt to make outgoing call (whether by selection of a contact orotherwise). In some cases, the application might be configured topresent the user with a choice of dialing the contact directly from thewireless device (in conventional fashion) or calling the contact fromthe wireline telephone at that location. In other cases, the systemmight be configured to use the wireline telephone automatically.

Based on a determination (e.g., in accordance with the description ofFIG. 2, above) that the subscriber is at a known wireline location, thesoftware might intercept that attempt and/or instruct the applicationserver to place the call using a wireline telephone associated with theknown wireline location. Alternatively, a wireless switch might beequipped with a termination attempt trigger or the like, which causesthe switch to seek termination instructions from the application server.Based on the determined location of the wireless device, the applicationserver might instruct the wireless switch not to terminate the call, andalso might instruct the wireline telephony switch to place the call fromthe wireline number.

At block 515, the system places a call from the wireline numbercorresponding to the wireline telephone at the location of thesubscriber (e.g., the location of the wireless device) to the targetnumber of the attempted call from the wireless device. There are anumber of techniques that can be used to perform this operation. Merelyby way of example, one such technique is illustrated by blocks 520-530.

At block 520, the system originates a first call to the wireline number.In an embodiment, the application server instructs the telephony switchto originate a call from the switch to the wireline number. At block525, the system originates a second call to the target number (i.e., thenumber that the subscriber attempted to call with the wireless device),in similar fashion to the first call. At block 530, the system (e.g.,the telephony switch, based on instructions from the application server)joins the first call with the second call. At that point, the subscribermay carry on a voice conversation with a party at the target number,using the wireline telephone at the subscriber's current location. Thereare a variety of techniques, and in particular switch-based techniques,for joining two calls, and any such technique may be used asappropriate.

It should be noted that the terms “first call” and “second call” do notdenote any particular chronological ordering of the calls. For example,the telephony switch might place both calls simultaneously. In otherembodiments, the system might first place the call to the target phonenumber and subsequently place a call to the number of the wirelinetelephone at that location, joining the calls thereafter. Othertechniques may also be used to place a call from the wireline telephoneto the target number.

FIG. 6 provides a schematic illustration of one embodiment of a computersystem 600 that can perform the methods provided by various otherembodiments, as described herein, and/or can function as a wirelessdevice, application server, etc. It should be noted that FIG. 6 is meantonly to provide a generalized illustration of various components, ofwhich one or more (or none) of each may be utilized as appropriate. FIG.6, therefore, broadly illustrates how individual system elements may beimplemented in a relatively separated or relatively more integratedmanner.

The computer system 600 is shown comprising hardware elements that canbe electrically coupled via a bus 605 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 610, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like); one or more input devices 615, which caninclude without limitation a mouse, a keyboard and/or the like; and oneor more output devices 620, which can include without limitation adisplay device, a printer and/or the like.

The computer system 600 may further include (and/or be in communicationwith) one or more storage devices 625, which can comprise, withoutlimitation, local and/or network accessible storage, and/or can include,without limitation, a disk drive, a drive array, an optical storagedevice, solid-state storage device such as a random access memory(“RAM”) and/or a read-only memory (“ROM”), which can be programmable,flash-updateable and/or the like. Such storage devices may be configuredto implement any appropriate data stores, including without limitation,various file systems, database structures, and/or the like.

The computer system 600 might also include a communications subsystem630, which can include without limitation a modem, a network card(wireless or wired), an infra-red communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, a WWAN device, cellularcommunication facilities, etc.), which can include any necessary radiosand/or antennas, and/or the like. The communications subsystem 630 maypermit data to be exchanged with a network (such as the networkdescribed below, to name one example), with other computer systems,and/or with any other devices described herein. In many embodiments, thecomputer system 600 will further comprise a working memory 635, whichcan include a RAM or ROM device, as described above.

The computer system 600 also may comprise software elements, shown asbeing currently located within the working memory 635, including anoperating system 640, device drivers, executable libraries, and/or othercode, such as one or more application programs 645, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be encoded and/or storedon a non-transitory computer readable storage medium, such as thestorage device(s) 625 described above. In some cases, the storage mediummight be incorporated within a computer system, such as the system 600.In other embodiments, the storage medium might be separate from acomputer system (i.e., a removable medium, such as a compact disc,etc.), and/or provided in an installation package, such that the storagemedium can be used to program, configure and/or adapt a general purposecomputer with the instructions/code stored thereon. These instructionsmight take the form of executable code, which is executable by thecomputer system 600 and/or might take the form of source and/orinstallable code, which, upon compilation and/or installation on thecomputer system 600 (e.g., using any of a variety of generally availablecompilers, installation programs, compression/decompression utilities,etc.) then takes the form of executable code.

In particular embodiments (in particular, when the computer system 600serves as a wireless device), the computer system might further comprisea location determination device 650. A GNSS receiver is one example ofsuch a device 650, although others are possible as well. In an aspect,the location determination device 650 communicates, e.g., via the bus605, with other system components, such that it can receive operationinstructions from, and provide data to, other components such as theprocessor 610. Accordingly, the location determination device 650 can beused by the computer system 600 to obtain location information inaccordance with the techniques described above. It should be noted thatthe location determination device 650 might be separate from thecomputer system 600 and/or might have its own processing and/orcommunication facilities (such as those described in conjunction withthe computer system 600), such that the location determination device650 can exchange data with the computer system 600, e.g., via thecomputer system's 600 communication subsystem 630.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware (such as programmable logic controllers,field-programmable gate arrays, application-specific integratedcircuits, and/or the like) might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer system 600) to perform methods inaccordance with various embodiments of the invention. According to a setof embodiments, some or all of the procedures of such methods areperformed by the computer system 600 in response to processor 610executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 640 and/or other code, such asan application program 645) contained in the working memory 635. Suchinstructions may be read into the working memory 635 from anothercomputer readable medium, such as one or more of the storage device(s)625. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 635 might cause theprocessor(s) 610 to perform one or more procedures of the methodsdescribed herein.

The terms “machine readable medium” and “computer readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operation in a specific fashion. In anembodiment implemented using the computer system 600, various computerreadable media might be involved in providing instructions/code toprocessor(s) 610 for execution and/or might be used to store and/orcarry such instructions/code (e.g., as signals). In manyimplementations, a computer readable medium is a non-transitory,physical and/or tangible storage medium. Such a medium may take manyforms, including but not limited to, non-volatile media, volatile media,and transmission media. Non-volatile media includes, for example,optical and/or magnetic disks, such as the storage device(s) 625.Volatile media includes, without limitation, dynamic memory, such as theworking memory 635. Transmission media includes, without limitation,coaxial cables, copper wire and fiber optics, including the wires thatcomprise the bus 605, as well as the various components of thecommunication subsystem 630 (and/or the media by which thecommunications subsystem 630 provides communication with other devices).Hence, transmission media can also take the form of waves (includingwithout limitation radio, acoustic and/or light waves, such as thosegenerated during radio-wave and infra-red data communications).

Common forms of physical and/or tangible computer readable mediainclude, for example, a floppy disk, a flexible disk, a hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punch cards, paper tape, any other physical medium with patternsof holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chipor cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read instructions and/or code.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 610for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 600. These signals,which might be in the form of electromagnetic signals, acoustic signals,optical signals and/or the like, are all examples of carrier waves onwhich instructions can be encoded, in accordance with variousembodiments of the invention.

The communications subsystem 630 (and/or components thereof) generallywill receive the signals, and the bus 605 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 635, from which the processor(s) 605 retrieves andexecutes the instructions. The instructions received by the workingmemory 635 may optionally be stored on a storage device 625 eitherbefore or after execution by the processor(s) 610.

While certain features and aspects have been described with respect toexemplary embodiments, one skilled in the art will recognize thatnumerous modifications are possible. For example, the methods andprocesses described herein may be implemented using hardware components,software components, and/or any combination thereof. Further, whilevarious methods and processes described herein may be described withrespect to particular structural and/or functional components for easeof description, methods provided by various embodiments are not limitedto any particular structural and/or functional architecture but insteadcan be implemented on any suitable hardware, firmware and/or softwareconfiguration. Similarly, while certain functionality is ascribed tocertain system components, unless the context dictates otherwise, thisfunctionality can be distributed among various other system componentsin accordance with the several embodiments.

Moreover, while the procedures of the methods and processes describedherein are described in a particular order for ease of description,unless the context dictates otherwise, various procedures may bereordered, added, and/or omitted in accordance with various embodiments.Moreover, the procedures described with respect to one method or processmay be incorporated within other described methods or processes;likewise, system components described according to a particularstructural architecture and/or with respect to one system may beorganized in alternative structural architectures and/or incorporatedwithin other described systems. Hence, while various embodiments aredescribed with—or without—certain features for ease of description andto illustrate exemplary aspects of those embodiments, the variouscomponents and/or features described herein with respect to a particularembodiment can be substituted, added and/or subtracted from among otherdescribed embodiments, unless the context dictates otherwise.Consequently, although several exemplary embodiments are describedabove, it will be appreciated that the invention is intended to coverall modifications and equivalents within the scope of the followingclaims.

What is claimed is:
 1. A method of providing a wireline telephonesubscriber with enhanced wireline service, the method comprising:maintaining a list of one or more wireline locations for which enhancedwireline services should be provided to the subscriber, each of the oneor more wireline locations having associated therewith a wirelinesubscriber number, the one or more wireline locations comprising a firstwireline location having associated therewith a first wirelinesubscriber number; detecting a location of a wireless device associatedwith the subscriber; determining that the location of the wirelessdevice corresponds to the first wireline location; providing, with awireline telephone network, enhanced wireline services at the wirelinesubscriber number associated with the first wireline location.
 2. Themethod of claim 1, wherein providing enhanced wireline servicescomprises enabling a call forwarding service to forward one or moretelephone calls to the first wireline subscriber number.
 3. The methodof claim 2, wherein: the one or more wireline locations comprises asecond wireline location having associated therewith a second wirelinesubscriber number, the second wireline location being a home of thesubscriber and the second wireline subscriber number being a hometelephone number of the subscriber; the first wireline location is alocation other than the home of the subscriber; and forwarding one ormore telephone calls to the first wireline subscriber number comprisesautomatically enabling a call forwarding service to forward to the firstwireline number all calls addressed to the home telephone number of thesubscriber, based on a determination that the location of the wirelessdevice corresponds to the first wireline location.
 4. The method ofclaim 3, further comprising: detecting a second location of the wirelessdevice; determining that the second location of the wireless devicecorresponds to the home of the subscriber; and disabling the callforwarding service, based on a determination that the subscriber islocated at the home of the subscriber.
 5. The method of claim 4, furthercomprising: detecting a second location of the wireless device;disabling the call forwarding service; determining that the secondlocation of the wireless device does not correspond to any of the one ormore wireline locations for which enhanced wireline services should beprovided; and re-enabling the call forwarding service to forward one ormore calls to a wireless subscriber number associated with the wirelessdevice.
 6. The method of claim 1, wherein providing enhanced wirelineservices at the first wireline subscriber number comprises: detecting anattempt to originate a telephone call from the wireless device to atarget telephone number; and placing a call to the target telephonenumber from the first wireline telephone number.
 7. The method of claim6, wherein placing a call to the target telephone number from the firstwireline telephone number comprises originating a first call to thefirst wireline telephone number from a wireline service provider;originating a second call to the target telephone number from thewireline service provider; and joining the first call and the secondcall.
 8. The method of claim 6, wherein detecting an attempt tooriginate a telephone call from the wireless device to a targettelephone number comprises: receiving, at the wireless device, anattempt to dial a contact in an address book on the wireless device. 9.The method of claim 1, further comprising: receiving a notification fromthe subscriber that the first wireline location is a location at whichenhanced wireline services should be provided; and identifying the firstwireline telephone number associated with the first wireline location.10. The method of claim 9, wherein identifying the first wirelinetelephone number comprises: receiving, from the subscriber, informationidentifying the first wireline telephone number.
 11. The method of claim9, wherein identifying the first wireline telephone number comprisessearching a directory for a wireline telephone number corresponding tothe first wireline location.
 12. The method of claim 9, whereinidentifying the first wireline telephone number comprises determiningthe first wireline telephone number based at least in part on anInternet Protocol address assigned to a device at the first wirelinelocation.
 13. The method of claim 12, wherein the device at the firstwireline location is the wireless device.
 14. The method of claim 9,wherein receiving a notification from the subscriber comprises receivinginput at a web site.
 15. The method of claim 9, wherein receiving anotification from the subscriber comprises receiving a notification froman application on the wireless device.
 16. The method of claim 15,wherein receiving a notification from the wireless device comprisesreceiving data from the wireless device identifying a current locationof the wireless device.
 17. The method of claim 9, wherein receiving anotification from the subscriber comprises: receiving, from thesubscriber, identification of a specific location; and receiving, fromthe subscriber, a radius from the specific location to define an area tobe considered the first wireline location.
 18. The method of claim 1,wherein detecting a location of the wireless device comprises receivingdata from the wireless device identifying a current location of thewireless device.
 19. The method of claim 18, wherein identifying alocation of the wireless device comprises adjusting a radius defining ascope of the location of the wireless device, based on a level ofprecision of a location solution obtained for the wireless device. 20.The method of claim 1, wherein detecting a location of the wirelessdevice comprises an operation selected from the group consisting of:obtaining data from a global navigation satellite system (“GNSS”)receiver associated with the wireless device; and obtainingtriangulation data from one or more cellular base stations; obtainingposition information from a Wi-Fi location solution.
 21. An apparatus,comprising: a non-transitory computer readable medium having encodedthereon a set of instructions executable by one or more computers tocause the one or more computers to: maintain a list of one or morewireline locations for which enhanced wireline services should beprovided to the subscriber, each of the one or more wireline locationshaving associated therewith a wireline subscriber number, the one ormore wireline locations comprising a first wireline location havingassociated therewith a first wireline subscriber number; detect alocation of a wireless device associated with the subscriber; determinethat the location of the wireless device corresponds to the firstwireline location; and provider with a wireline telephone network,enhanced wireline services at the wireline subscriber number associatedwith the first wireline location.
 22. A computer system, comprising: oneor more processors; and a non-transitory computer readable medium incommunication with the one or more processors, the computer readablemedium having encoded thereon a set of instructions executable by thecomputer system to cause the computer system to: maintain a list of oneor more wireline locations for which enhanced wireline services shouldbe provided to the subscriber, each of the one or more wirelinelocations having associated therewith a wireline subscriber number, theone or more wireline locations comprising a first wireline locationhaving associated therewith a first wireline subscriber number; detect alocation of a wireless device associated with the subscriber; determinethat the location of the wireless device corresponds to the firstwireline location; and provide with a wireline telephone network,enhanced wireline services at the wireline subscriber number associatedwith the first wireline location.
 23. The computer system of claim 22,wherein the wireless device comprises the computer system, and whereinproviding enhanced wireline services comprises communicating with thewireline telephone network to cause the wireline telephone network toprovide the enhanced wireline services.
 24. The computer system of claim22, wherein the computer system resides within the wireline network. 25.The computer system of claim 24, wherein detecting the location of thewireless device comprises receiving, from the wireless device,information about the location of the wireless device.